package cn.chiship.framework.common.service;


import cn.chiship.framework.common.pojo.vo.ConfigJson;
import cn.chiship.framework.common.pojo.vo.EmailSettingVo;
import cn.chiship.framework.common.pojo.vo.SystemConfigVo;
import cn.chiship.sdk.core.base.BaseResult;

import java.util.List;

/**
 * 全局缓存服务接口
 *
 * @author lijian
 */
public interface GlobalCacheService {

    /**
     * 校验登录IP
     *
     * @param ip
     * @return
     */
    BaseResult validateLoginIp(String ip);

    /**
     * 获取邮箱配置
     *
     * @return UpmsEmailSettingVo
     */
    EmailSettingVo getEmailSettingConfig();

    /**
     * 获得私钥
     *
     * @return
     */
    String getRsaPrivateKey();

    /**
     * 获得公钥
     *
     * @return
     */
    String getRsaPublicKey();


    /**
     * 根据Key获得配置项
     *
     * @param key
     * @return
     */
    SystemConfigVo getSystemConfig(String key);

    /**
     * 根据Key集合获得配置项
     *
     * @param keys
     * @return
     */
    List<SystemConfigVo> getSystemConfig(List<String> keys);

    /**
     * 根据Key集合获得配置项
     *
     * @param keys
     * @return
     */
    ConfigJson getSystemConfigJson(List<String> keys);

    /**
     * 根据Key获得配置项
     *
     * @param key
     * @return
     */
    ConfigJson getSystemConfigJson(String key);

    /**
     * rsa解密
     *
     * @param value
     * @return
     */
    String rsaDecrypt(String value);

}
